iT邦幫忙

2021 iThome 鐵人賽

DAY 8
0

在ML的專案中,從資料的收集、建構模型、測試到部署到產品。這個流程除了需要自動化之外,也需要保有該行業或者市場所需的規範。從企業的管理層面來說,知道要把模型的建立、商業問題的對應這兩大部分,交給團隊的資料科學家與領域專家去完成。但仍缺乏對使 ML 可解釋、可重複和產品化所需的執行細節的理解,對於產品化的過程常常會有不知道自己還不知道什麼事情的狀態(unknown unknown)。但同時又需要在這個未知的狀況下,給予專案的規劃、成本控制等等。

上次有提到ML產品需要依附使用者產品而存在,也因此ML專案的維護與經營會與公司的經營方向的一致性會更高。長遠來說,以後的產品大家已經不太會提說有沒有ML功能在裡面,因為都已經內建在裡面了。ML專案的安全性和合規性在許多層面是與過去的軟體專案是類似的,只是又會更強調關於資料的使用、模型的可解釋性、訓練資料的安全性等等。而在某些產業當中,例如金融服務、醫學和國防,都會有比其他產業要求更高的規範。接下來我們透過MLOps專案可能有的風險範圍:安全性與合規性來了解更多的細節。

關於安全性的5點注意事項


*圖片來源:The Cyber Security Hub

ML專案少不了使用大量的資料來開發模型,以及用資料來支援後續的系統更新方向。這幾年來特別是在個人隱私法的設立之後,資料的使用目的、儲存時間、資料授權也備受檢視。

(1) 資料保護:不管是靜態儲存,或是傳輸中的數據的各階段,都需實施資料加密。授權給ML團隊的資料,也須事先經過審核,確保這些資料是真的有必要使用在模型當中,且確保在資料集當中無法識別任一使用者的個別特徵。

(2) 身份授權:針對使用者方面,只能有權限看到跟自己有關的資料,不應該可以看到其他使用者未授權公開的個人資料。在開發者方面,不應該授權給ML團隊任何能識別個別使用者的資料。確保使用者與開發者都以最低限度與範圍讀取資料。模型部署的安全也在此規範之中,在開發團隊之中是否每一個人都應該具有將模型部署上線的權限,或者將部署的權限規範在某些特定角色身上。以及報表的閱讀權限,是否要讓商業端的同事能夠讀取模型訓練過程的報表,或是讓他們能夠訪問整理過後與商業指標相關的報表即可等等。

(3) 身份驗證:在分配身份授權之後,確保每一次拜訪服務的時候都有相關驗證。並且能夠快速地查詢這些身份相關的授權範圍。舉例來說,使用基於角色的訪問控制 (RBAC) 可以輕鬆地在開發過程中新增和刪除人員。或是服務之間的身份驗證,使用者在呼叫API的時候,也確保這些呼叫符合我們系統頒發的安全鑰匙。

(4) 網路安全:在系統架設時,使用相對應的憑證。假若透過網路使用開發環境,確保連線是在VPN之下,且連到該公司的私有網路環境。使用SSO(Single sign-on)登入,讓使用者可以透過單點登入一次並使用相關服務,便於管理使用者的登入與使用服務的狀況。

(5) 可審計性:透過以上4點,能夠防止且即時發現誰做了什麼、在什麼服務之下,用來識別和防禦惡意或者不正常的使用活動。

關於合規性的5點注意事項


*圖片來源:合規性及其重要性

根據維基百科,"一般而言,合規意味著遵守規則,例如規範、政策、標准或法律。合規性描述了組織在努力確保他們了解並採取措施遵守相關法律、政策和法規的過程中渴望實現的目標。" 如果在金融服務、醫療保健、製藥、法務等受監管的行業中營業,則還需要遵守行業監管規定。公司必須向監管機構提供驗證和合規報告,以顯示有遵守規則。

(1)可追溯性:和軟體開發雷同的是日誌(Log)的重要性。不管是在實驗階段或者產品階段,日誌的紀錄可以協助未來的你,在重現實驗的時候參考過去成功、失敗的參數組合。在查找系統錯誤的原因時,可以知道誰訪問了系統、誰進行了更改、更改了哪些內容,從當中找到原因。這些日誌也會是技術與商業報告、客戶指標或是公司回覆監管機構的時候可以提供的資料來源。有過去跟現在的資料,也才知道引入新版本的模型或系統之後帶來的成效有什麼。

(2)可解釋性:透過特徵與模型本身演算法的特性來解釋和說明預測結果的原因,並判斷有哪些特徵是相對重要、具影響力的。以通信公司的客戶流失為例,其模型解釋性的的來源會需要:1)將使用資料與整體人口統計數據合併2)選擇算法的原因以及其算法特性 3)當中可能影響的數學特徵 4)確保模型是否存在年齡或性別等偏見 5)討論可能造成客戶流失的關鍵因素的解釋,例如收入或服務品質等等。

(3)模型監控:如何在產品上線之後,透過系統日誌監控模型的使用狀況,以防止資料漂移。資料漂移(data drift/concept drift): 在大多數跟數據相關的應用當中,例如統計、機器學習以及其他分析,新收集到的數據會隨著時間的推移而發展,這些發展可能會使得過去收集到的資料集,在數據分佈上會落在不同的區間,使得特徵值所代表的意義也會跟著變化。因此,為分析這些數據所建立的模型,隨著時間的過去變得過時的狀況。在機器學習和數據挖掘中,這種現象稱為概念漂移。更多細節可參考:cs329s課程筆記

(4)重現性:在合規性的要求下,系統必須要有相對應的記載,如何根據資料及以及模型的參數,重現模型訓練的狀況,以確保系統的可重現性。透過可重現性也才能確保模型交付的品質,加速系統迭代的速度。

(5)測試:ML產品的開發過程也須承襲軟體開發的其中之一重要點,需要有足夠數量的測試,以確保下列幾種狀況:(a)每一次資料更新,欄位是否有變動(b)每一次資料更新,資料是否有格式或數量等錯誤(c)模型在跟新的資料訓練之後,是否有一些主要的預測行為也跟著受到影響(d)在ML產品開發的過程,如果有使用到第三方的服務,這些服務的品質以及回覆是否都和之前一致。或是出乎預測的變動等等。這些測試都能夠幫助每一次的ML產品迭代,都提供更穩定、具有數據佐證的報告。並且也在開發、測試等不同環境通過測試,以確保不會在上線之後出現對使用者的重大影響。

結論

透過安全性與合規性的管控,讓原本在實驗階段的ML模型,一步步走向符合業界規範的產品。在這個過程當中,有很多執行細節需要ML團隊跟DevOps團隊共同學習與執行。這些規範最終也是能協助公司在各種審核上能夠輕鬆許多,在決策上也因為有數據的依靠有足夠的透明度和公平性。

Reference
[1]. Importance Of Data, Governance And MLOps When Using Machine Learning To Drive Successful Business Outcomes
[2]. MLOps for Risk and Compliance Professionals
[3]. enterprise security and governance mlops
[4]. Machine learning best practices in financial services
[5]. whitepaper - Machine Learning Best Practices in
Financial Services

[6]. Why Governance Comes First in MLOps
[7]. Algorithmia founder on MLOps’ promise and pitfalls


上一篇
ML專案的特徵工程為什麼存在?包含哪些層面?怎麼練手感?
下一篇
DevOps在MLOps當中的角色
系列文
談MLOps - 模型、專案架構、產品化及維運29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言